package com.yy.studyspringboot.task.quartz;

import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

public class TestJob {

    public static void main(String[] args) throws SchedulerException {
        //创建一个个任务
        JobDetail jobBuilder = JobBuilder.newJob(MyJob.class)
                .withIdentity("job1","group1")
                //设置jobDataMap
                .usingJobData("job1DataKey","job1DataValue")
                .build();

        //创建触发器
        Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("trigger1","trigger1")
                //开始执行时间
                .startNow()
                //设置调度策略
                .withSchedule(
                        //方式一：通过simpleSchedule的方式
//                        SimpleScheduleBuilder.simpleSchedule()
//                        //间隔时间
//                        .withIntervalInSeconds(1)
//                        //重复次数，repeatForever表示一直重复执行  withRepeatCount设置具体执行次数
//                        .withRepeatCount(2)
                        //方式二：Cron
                        CronScheduleBuilder.cronSchedule("0/2 * * * * ? *")
                        //方式三
//                        DailyTimeIntervalScheduleBuilder.dailyTimeIntervalSchedule()
//                        .withInterval(2, DateBuilder.IntervalUnit.SECOND)
                )
                //设置jobDataMap
                .usingJobData("trigger1Key","trigger1Value")
                .build();
        //创建调度器
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.scheduleJob(jobBuilder,trigger);
        //开始执行
        scheduler.start();

        //延迟多久秒后执行
//        scheduler.startDelayed(2);

    }
}
